In the arts, many client-side devices communicate with a server either through a direct connection such as a phone line or a cable or via a remote connection, such that the end-user (operating the client-side device) can retrieve email, documents, pictures, and other text or pictures made available to the client by the server. Depending on the type or kind of connection the user has made with the server device, the transfer of documents from the server to the client can be relatively quick in those instances wherein the client is connected to the server through a high bandwidth connection, or can be painstakingly slow if, for example, the client is connected to the server through a low bandwidth connection. The server merely receives the request from the client device and then retrieves the desired pages or other documents or pictures and routinely queues them up for transfer to the requesting client. Depending on the bandwidth of the client-server communication pathway, the transfer of documents from a server to a remote client can take quite a long time which increases, for example, the risk of having the connection-link severed during the extended transmission time frame or leads to a poor user experience.
Today, many client-side devices are handheld devices, as illustrated in FIG. 1, with relatively small viewing screens for displaying documents. (All trademarks are owned by their respective organizations.) Users can connect to a server via a wireless protocol and request work-related documents and email for viewing while away from the office. Since many of these small handheld devices have very limited internal size, they routinely lack sufficient memory and/or storage room to hold all of the requested documents or document applications/viewers at any one moment in time. In addition, such handheld client-side devices can be limited in the processing power needed to convert such documents for display on the limited real estate of the handheld device's viewing screen.
As such, one of the problems in the art of client-side document viewing involves the combination of accessing remote documents over a low bandwidth connection using a client-side device with relatively limited screen real estate, coupled with insufficient internal memory to store a large set of retrieved documents and document applications, and often lacking adequate computing power to convert such documents on-the-fly into another format for faster displaying on the user's viewing screen. Current solutions often restrict the amounts and/or types of documents that can be viewed (e.g. web pages with GIF files) by such remote handheld document viewing devices. What is needed in the arts is a method by which a low-bandwidth client-side device can request from a remote server documents in a certain format.
What is needed in the arts is a method by which such a client-side handheld device can take advantage of the often considerable computing power of the server to convert requested documents into a format with compression in order to speed up transmission times while gaining the benefit of having a smaller document (in terms of total bytes) to manipulate client-side prior to displaying on the limited real estate screen for the user.
A client-side handheld device requests a server to convert server-side documents into a compression format prior to transmission of said documents to the client. The server retrieves and converts the requested documents to a raster image that is then compressed according to attributes based on information received from the client device in the initial document request. Instead of having to manipulate multiple formats which the original documents are in and supported by the server, the client-side device is preferably optimized in hardware and/or software to support and otherwise take advantage of the requested compression format. The compressed document is then delivered to the client device, in whole or in part, selectively or progressively over time per individual requests prior to displaying the received data to the end-user. Depending on the requested delivery mode, server-side documents are preferably compressed using wavelet compression methods, such as the JPEG 2000 standard, known in the arts. Through such a compression format, documents of sizes (in total bytes) exceeding one or more Megabytes can be compressed down to as small as 30 kilobytes or less.
More specifically, a client side device requests a document or a portion of a document from a server and the server receiving said request. Secondly, the server retrieves the requested document portion and converts said portion to a wavelet compressed image. The server sends packets of data from the wavelet compressed page image to the client. The client receives the compressed data; decompresses it and displays the decompressed document for the user. The client makes subsequent requests for more data which the server responds to using the wavelet compressed image data for the document. All these requests and responses use a protocol appropriate to document viewing and the features of the wavelet compression. The wavelet compression may be compliant with the JPEG 2000 standard.